package com.sojson.entity.po;

import java.util.ArrayList;
import java.util.Date;

import com.sojson.base.impl.BaseDto;
import com.sojson.enums.core.EDictTypeStatus;
import com.sojson.util.DateUtil;
import com.sojson.util.StringUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 字典类型表Bean
 * 
 * @author liu
 * @date 2021-04-13
 */
@ApiModel("字典类型表Bean")
public class DictType extends BaseDto {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("标题")
    private String name;
    @ApiModelProperty("代码")
    private String code;
    @ApiModelProperty("状态(1:正常,2:停用)")
    private Integer status;
    @ApiModelProperty("排序")
    private Integer sortNum;
    @ApiModelProperty("创建时间")
    private Date createdAt;
    @ApiModelProperty("更新时间")
    private Date updatedAt;
    @ApiModelProperty("备注")
    private String remark;
    /** ID集合 */
    private ArrayList<Integer> ids;
    /** 字典类型表集合 */
    private ArrayList<DictType> dictTypes;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public DictType() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 标题
     */
    public String getName() {
        return name;
    }

    /**
     * 设置 标题
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取 代码
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置 代码
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 获取 状态(1:正常,2:停用)
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置 状态(1:正常,2:停用)
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取 排序(越大越靠前)
     */
    public Integer getSortNum() {
        return sortNum;
    }

    /**
     * 设置 排序(越大越靠前)
     */
    public void setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取 备注
     */
    @Override
    public String getRemark() {
        return remark;
    }

    /**
     * 设置 备注
     */
    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取 ID集合
     */
    public ArrayList<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 ID集合
     */
    public void setIds(ArrayList<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取 字典类型表集合
     */
    public ArrayList<DictType> getDictTypes() {
        return dictTypes;
    }

    /**
     * 设置 字典类型表集合
     */
    public void setDictTypes(ArrayList<DictType> dictTypes) {
        this.dictTypes = dictTypes;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     */
    public void insertInit() {
        if (StringUtil.isBlankObject(getSortNum())) {
            setSortNum(100);
        }
        setStatus(EDictTypeStatus.NORMAL.getCode());
        Date now = DateUtil.nowDate();
        setCreatedAt(now);
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void setUpdateNull() {
        setCode(null);
    }

}